class Student{
    constructor(id){
        this.id = id
        
    }
}

//每个类（函数）都有一个属性，可以指向原型对象
console.log("原型对象",Student.prototype);
Student.prototype.name = "无名氏"
Student.prototype.study = function(){
    return "我正在学习";
}

const stu1 = new Student(1)
console.log(stu1);
console.log("学习状态",stu1.study());
console.log("学习状态",stu1.name);
const stu2 = new Student(2)
console.log(stu2);


//每个实例都有一个隐式属性，可以指向原型对象
console.log("stu1的原型对象",stu1.__proto__);
console.log("stu2的原型对象",stu2.__proto__);
console.log(stu1.__proto__ == stu2.__proto__);

//Stu2学生的原型对象的原型 打印出来 和Object的原型进行对比
console.log("stu2原型链",stu2.__proto__.__proto__);
console.log("Object.prototype",Object.prototype);
console.log(stu2.__proto__.__proto__ == Object.prototype);

